package poker;
import java.lang.reflect.Array;
// Essa classe imprime todo o deque de cartas após seu embaralhamento

public class DeckOfCardsTest {
	// execute application
	public static void main(String args[]) {
		DeckOfCards myDeckOfCards = new DeckOfCards();
		DeckOfCards baralho_ordenado = new DeckOfCards();
		System.out.println("\nIMPRIME AS CARTAS DO POKER EM ORDEM CRESCENTE:");
		for ( int i = 1; i <= 52; i++ )
		{
			System.out.printf( "%20s\t", baralho_ordenado.dealCard());
			if(i%4 == 0){
				System.out.println();
			}
		} 
		//myDeckOfCards.shuffle(); // embaralha as cartas
		/*IMPRIME AS CARTAS NO DEQUEUE*/
		
		System.out.println("\nIMPRIME AS CARTAS EMBARALHADAS NO DEQUEUE DESTE JOGO:");
		for ( int i = 1; i <= 52; i++ )
		{
			System.out.printf( "%20s\t", myDeckOfCards.dealCard());
			if(i%4 == 0){
				System.out.println();
			}
		} 
		/*Imprime primeira mão do objeto myDeckOfCards* /
		 * 
		 */
		Card[] hand = myDeckOfCards.dealHand();
		System.out.printf("\nDescendo uma mão do baralho:\n ");
		for(int i = 0; i < 5; i++ ){
			System.out.print("\t");
			System.out.println(hand[i].toString());
		}

		System.out.println("\nMão ORDENADA:");
		hand = Poker.ordena(hand);
		for(int i = 0; i < 5; i++ ){
			System.out.print("\t");
			System.out.println(hand[i].toString());
		}
		System.out.println("\nJogos detectado desta mão:");
		/*JOGOS Possíveis em impressão em ORDEM CRESCENTE*/
		if(Poker.findPair(hand) == true){
			System.out.println("Par ");
		}
		if(Poker.findTwoPairs(hand) == true){
			System.out.println("Dois Pares");
		}
		if(Poker.findThreeOfAKind(hand) == true){
			System.out.println("Trio");
		}
		if(Poker.findStraight(hand) == true){
			System.out.println("Sequência");
		}
		if(Poker.findFlush(hand) == true){
			System.out.println("Flush");
		}
		if(Poker.findFullHouse(hand) == true){
			System.out.println("Full House");
		}
		if(Poker.findFourOfAKind(hand) == true){
			System.out.println("Quadra");
		}
		if(Poker.findStraightFlush(hand) == true){
			System.out.println("Sequência de mesmo naipe");
		}
		if(Poker.findRoyalFlush(hand) == true){
			System.out.println("Sequência Real de mesmo naipe");
		}
		/*IMPRIME APENAS O MELHOR JOGO DETECTADO*/
		




	} // fim main

} // fim classe DeckOfCardsTest

